Modern high speed plotters operate under computer control to plot variously colored vectors onto sheets of recording medium. Typically, the host computer provides to the plotter a long string of vectors to be plotted and also provides commands to raise or lower the pen carriage and to select a pen of a certain color from among a set of available pens. The available pens may be carried on the pen carriage, as in the Calcomp Co. model 965 plotter, or may be stored in an accessible pen carousel as in the Hewlett-Packard Co. model HP 7585 plotter.
Attempts have been made in the prior art to optimize the string of vectors before transmission to the plotter. For example, the GrafTek Co. Optplot routine performs a complete sort by color of all of the vectors to be plotted before any vector is transmitted to the plotter. Such a routine requires a large host computer with extensive memory which is often not available for many plotting applications. In addition, improvements in plotting speed due to the optimization are at least partially offset by the additional time required to finish the complete vector sort before any vector is transmitted to the plotter for plotting.
The present inventors have discovered that a large portion of the time spent plotting is actually taken up by pen changes rather than by vector plotting. The applicants have determined that a typical pen change takes on the order of one second to complete while a typical vector can be plotted in approximately ten milliseconds. The inventors have further noted that plotting efficiency decreases dramatically as pen changes occur more frequently than once for each approximately one thousand vector plots.
In accordance with the illustrated preferred embodiment of the present invention, a plotter continuously performs a dynamic sort on incoming vectors and stores the vectors by color in linked memory locations. At the same time that the incoming dynamic sort is occuring, the plotter determines the color having the most stored vectors and plots all of the stored vectors of that color before selecting the next color to be plotted. Thus, the plotter simultaneously sorts and plots the incoming vectors so that the number of pen changes is reduced and plotting efficiency is increased without requiring an unproductive sorting period before actual plotting begins.